home *** CD-ROM | disk | FTP | other *** search
/ The Very Best of Atari Inside / The Very Best of Atari Inside 1.iso / sharew / elektro / runlight / runlight.gfa (.txt) < prev    next >
Encoding:
GFA-BASIC Atari  |  1990-07-09  |  8.7 KB  |  410 lines

  1. $M300000
  2. $E
  3. DEFTEXT ,,,13
  4. DEFMOUSE 2
  5. DEFFILL 1,2,4
  6. @vB_6(1,"RUNLIGHT.PRG")
  7. PBOX 0,17,639,399
  8. SHOWM
  9. @vB_9
  10. @vB_C
  11. DEFMOUSE 0
  12. v3_0!=-1
  13. v3_1!=0
  14. IF GEMDOS(17)
  15.   ALERT 1," Wenn Sie Ihren Drucker | eingeschaltet haben, | schalten Sie ihn jetzt | unbedingt AUS !!! ",1," Ok ",v9_0|
  16. ENDIF
  17. ~OBJC_DRAW(v2_1A%,0,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  18. DO
  19.   v2_24%=FORM_DO(v2_1A%,0)
  20.   SELECT BCLR(v2_24%,15)
  21.   CASE v2_13%,v2_14%
  22.     ' HOLD/FLASH ~~~~~~~~~~~~~~~~~~~~
  23.     IF v2_24%=v2_13%
  24.       OB_STATE(v2_1A%,v2_13%)=BSET(OB_STATE(v2_1A%,v0_0#),0)
  25.       OB_STATE(v2_1A%,v2_14%)=BCLR(OB_STATE(v2_1A%,v0_1#),0)
  26.       v3_0!=-1
  27.     ELSE IF v2_24%=v2_14%
  28.       OB_STATE(v2_1A%,v2_13%)=BCLR(OB_STATE(v2_1A%,v0_0#),0)
  29.       OB_STATE(v2_1A%,v2_14%)=BSET(OB_STATE(v2_1A%,v0_1#),0)
  30.       v3_0!=0
  31.     ENDIF
  32.     CHAR{OB_SPEC(v2_1A%,v2_13%)}="Hold"
  33.     CHAR{OB_SPEC(v2_1A%,v2_14%)}="Flash"
  34.     ~OBJC_DRAW(v2_1A%,v2_13%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  35.     ~OBJC_DRAW(v2_1A%,v2_14%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  36.     REPEAT
  37.     UNTIL MOUSEK=0
  38.   CASE v2_15%,v2_16%
  39.     ' SINGLE/AUTO ~~~~~~~~~~~~~~~~~~~~
  40.     IF v2_24%=v2_15%
  41.       OB_STATE(v2_1A%,v2_15%)=BSET(OB_STATE(v2_1A%,v0_2#),0)
  42.       OB_STATE(v2_1A%,v2_16%)=BCLR(OB_STATE(v2_1A%,v0_3#),0)
  43.       v3_1!=0
  44.     ELSE IF v2_24%=v2_16%
  45.       OB_STATE(v2_1A%,v2_15%)=BCLR(OB_STATE(v2_1A%,v0_2#),0)
  46.       OB_STATE(v2_1A%,v2_16%)=BSET(OB_STATE(v2_1A%,v0_3#),0)
  47.       v3_1!=-1
  48.     ENDIF
  49.     CHAR{OB_SPEC(v2_1A%,v2_15%)}="Single"
  50.     CHAR{OB_SPEC(v2_1A%,v2_16%)}="Auto"
  51.     ~OBJC_DRAW(v2_1A%,v2_15%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  52.     ~OBJC_DRAW(v2_1A%,v2_16%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  53.     REPEAT
  54.     UNTIL MOUSEK=0
  55.   CASE v2_17%
  56.     ' START ~~~~~~~~~~~~~~~~~~~~
  57.     OB_STATE(v2_1A%,v2_17%)=BSET(OB_STATE(v2_1A%,v2_17%),0)
  58.     CHAR{OB_SPEC(v2_1A%,v2_17%)}="Running"
  59.     CHAR{OB_SPEC(v2_1A%,v2_11%)}="OUTP"
  60.     OB_STATE(v2_1A%,v2_B%)=BSET(OB_STATE(v2_1A%,v2_B%),0)
  61.     CHAR{OB_SPEC(v2_1A%,v2_B%)}="ON"
  62.     ~OBJC_DRAW(v2_1A%,v2_17%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  63.     ~OBJC_DRAW(v2_1A%,v2_B%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  64.     ~OBJC_DRAW(v2_1A%,v2_11%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  65.     v3_7!=GEMDOS(17)
  66.     REPEAT
  67.     UNTIL MOUSEK=0
  68.     VOID FN vE_0
  69.     IF v3_7!
  70.       OUT 0,0
  71.     ENDIF
  72.     CHAR{OB_SPEC(v2_1A%,v2_B%)}="OFF"
  73.     CHAR{OB_SPEC(v2_1A%,v2_C%)}="⓪⓪⓪"
  74.     CHAR{OB_SPEC(v2_1A%,v2_D%)}="⓪⓪"
  75.     CHAR{OB_SPEC(v2_1A%,v2_E%)}="⓪⓪"
  76.     CHAR{OB_SPEC(v2_1A%,v2_F%)}="NOR"
  77.     CHAR{OB_SPEC(v2_1A%,v2_10%)}="UP"
  78.     CHAR{OB_SPEC(v2_1A%,v2_11%)}="EDIT"
  79.     CHAR{OB_SPEC(v2_1A%,v2_12%)}=SPACE$(25)
  80.     CHAR{OB_SPEC(v2_1A%,v2_17%)}="Start"
  81.     OB_STATE(v2_1A%,v2_B%)=BCLR(OB_STATE(v2_1A%,v2_B%),0)
  82.     OB_STATE(v2_1A%,v2_17%)=BCLR(OB_STATE(v2_1A%,v2_17%),0)
  83.     ~OBJC_DRAW(v2_1A%,v2_B%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  84.     ~OBJC_DRAW(v2_1A%,v2_C%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  85.     ~OBJC_DRAW(v2_1A%,v2_D%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  86.     ~OBJC_DRAW(v2_1A%,v2_E%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  87.     ~OBJC_DRAW(v2_1A%,v2_F%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  88.     ~OBJC_DRAW(v2_1A%,v2_10%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  89.     ~OBJC_DRAW(v2_1A%,v2_11%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  90.     ~OBJC_DRAW(v2_1A%,v2_12%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  91.     ~OBJC_DRAW(v2_1A%,v2_17%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  92.     REPEAT
  93.     UNTIL MOUSEK=0
  94.   CASE v2_18%
  95.     ' INFO ~~~~~~~~~~~~~~~~~~~~
  96.     @vB_8
  97.     OB_STATE(v2_1A%,v2_18%)=BCLR(OB_STATE(v2_1A%,v2_18%),0)
  98.     CHAR{OB_SPEC(v2_1A%,v2_18%)}="Info"
  99.     ~OBJC_DRAW(v2_1A%,v2_18%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  100.   CASE v2_19%
  101.     ' QUIT ~~~~~~~~~~~~~~~~~~~~
  102.     @vB_1
  103.   CASE v2_25%,v2_26%
  104.     ' PROGRAMMWECHSEL(+/-) ~~~~~~~~~~~~~~~~~~~~
  105.     IF v2_24%=v2_25%
  106.       IF v2_2F%>0
  107.         DEC v2_2F%
  108.         CHAR{OB_SPEC(v2_1A%,v2_7%)}=RIGHT$(@vF_0$("00"+STR$(v2_2F%)),2)
  109.         ~OBJC_DRAW(v2_1A%,v2_7%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  110.       ENDIF
  111.     ELSE IF v2_24%=v2_26%
  112.       IF v2_2F%<99
  113.         INC v2_2F%
  114.         CHAR{OB_SPEC(v2_1A%,v2_7%)}=RIGHT$(@vF_0$("00"+STR$(v2_2F%)),2)
  115.         ~OBJC_DRAW(v2_1A%,v2_7%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  116.       ENDIF
  117.     ENDIF
  118.   CASE v2_27%,v2_28%
  119.     ' SPEED ÄNDERN ~~~~~~~~~~~~~~~~~~~~
  120.     IF v2_24%=v2_27%
  121.       IF v2_32%>0
  122.         DEC v2_32%
  123.         CHAR{OB_SPEC(v2_1A%,v2_8%)}=@vF_0$(STR$(v2_32%))
  124.         ~OBJC_DRAW(v2_1A%,v2_8%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  125.       ENDIF
  126.     ELSE IF v2_24%=v2_28%
  127.       IF v2_32%<9
  128.         INC v2_32%
  129.         CHAR{OB_SPEC(v2_1A%,v2_8%)}=@vF_0$(STR$(v2_32%))
  130.         ~OBJC_DRAW(v2_1A%,v2_8%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  131.       ENDIF
  132.     ENDIF
  133.   CASE v2_29%,v2_2A%
  134.     ' EFFEKTEINSTELLUNG NORMAL/INVERS ~~~~~~~~~~~~~~~~~~~~
  135.     IF v2_24%=v2_29%
  136.       IF v2_33%>0
  137.         DEC v2_33%
  138.         CHAR{OB_SPEC(v2_1A%,v2_9%)}=@vF_0$(STR$(v2_33%))
  139.         ~OBJC_DRAW(v2_1A%,v2_9%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  140.       ENDIF
  141.     ELSE IF v2_24%=v2_2A%
  142.       IF v2_33%<9
  143.         INC v2_33%
  144.         CHAR{OB_SPEC(v2_1A%,v2_9%)}=@vF_0$(STR$(v2_33%))
  145.         ~OBJC_DRAW(v2_1A%,v2_9%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  146.       ENDIF
  147.     ENDIF
  148.     IF v2_33%
  149.       OB_STATE(v2_1A%,v2_F%)=BSET(OB_STATE(v2_1A%,v2_F%),0)
  150.     ELSE
  151.       OB_STATE(v2_1A%,v2_F%)=BCLR(OB_STATE(v2_1A%,v2_F%),0)
  152.     ENDIF
  153.     ~OBJC_DRAW(v2_1A%,v2_F%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  154.   CASE v2_2B%,v2_2C%
  155.     ' EFFEKTEINSTELLUNG UP/DOWN ~~~~~~~~~~~~~~~~~~~~
  156.     IF v2_24%=v2_2B%
  157.       IF v2_34%>0
  158.         DEC v2_34%
  159.         CHAR{OB_SPEC(v2_1A%,v2_A%)}=@vF_0$(STR$(v2_34%))
  160.         ~OBJC_DRAW(v2_1A%,v2_A%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  161.       ENDIF
  162.     ELSE IF v2_24%=v2_2C%
  163.       IF v2_34%<9
  164.         INC v2_34%
  165.         CHAR{OB_SPEC(v2_1A%,v2_A%)}=@vF_0$(STR$(v2_34%))
  166.         ~OBJC_DRAW(v2_1A%,v2_A%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  167.       ENDIF
  168.     ENDIF
  169.     IF v2_34%
  170.       OB_STATE(v2_1A%,v2_10%)=BSET(OB_STATE(v2_1A%,v2_10%),0)
  171.     ELSE
  172.       OB_STATE(v2_1A%,v2_10%)=BSET(OB_STATE(v2_1A%,v2_10%),0)
  173.     ENDIF
  174.     ~OBJC_DRAW(v2_1A%,v2_10%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  175.   DEFAULT
  176.     '
  177.   ENDSELECT
  178. LOOP
  179. > PROCEDURE vB_9
  180.   LOCAL v2_35%,v2_1B%,v1_8$
  181.   DIM v5_0$(103)
  182.   IF EXIST("\RUNLIGHT.DRL")
  183.     OPEN "I",#1,"\RUNLIGHT.DRL"
  184.     FOR v2_35%=0 TO 99
  185.       v5_0$(v2_35%)=INPUT$(32,#1)
  186.     NEXT v2_35%
  187.     CLOSE #1
  188.   ELSE
  189.     ALERT 1,"|Datei fehlt: |RUNLIGHT.DRL !",1," Quit ",v9_0|
  190.     ~RSRC_FREE()
  191.     RESERVE
  192.     EDIT
  193.   ENDIF
  194. RETURN
  195. > PROCEDURE vB_C
  196.   ~RSRC_FREE()
  197.   RESERVE
  198.   RESERVE -33000
  199.   IF RSRC_LOAD("\runlight.rsc")=0
  200.     ALERT 1,"|Datei fehlt: |RUNLIGHT.RSC !",1," Quit ",v9_0|
  201.     ~RSRC_FREE()
  202.     RESERVE
  203.     EDIT
  204.   ENDIF
  205.   v2_0%=0
  206.   v2_1%=1
  207.   v2_2%=6
  208.   v2_3%=11
  209.   v2_4%=16
  210.   v2_5%=21
  211.   v2_6%=34
  212.   v2_7%=3
  213.   v2_8%=8
  214.   v2_9%=13
  215.   v2_A%=18
  216.   v2_B%=22
  217.   v2_C%=23
  218.   v2_D%=24
  219.   v2_E%=25
  220.   v2_F%=26
  221.   v2_10%=27
  222.   v2_11%=28
  223.   v2_12%=29
  224.   v2_13%=35
  225.   v2_14%=36
  226.   v2_15%=37
  227.   v2_16%=38
  228.   v2_17%=39
  229.   v2_18%=40
  230.   v2_19%=41
  231.   v2_25%=2
  232.   v2_26%=4
  233.   v2_27%=7
  234.   v2_28%=9
  235.   v2_29%=12
  236.   v2_2A%=14
  237.   v2_2B%=17
  238.   v2_2C%=19
  239.   v2_1F%=5
  240.   v2_20%=10
  241.   v2_21%=15
  242.   v2_22%=20
  243.   v2_23%=42
  244.   v2_3F%=30
  245.   v2_40%=32
  246.   v2_41%=31
  247.   v2_42%=43
  248.   v2_48%=33
  249.   v2_49%=44
  250.   v2_4A%=45
  251.   ~RSRC_GADDR(0,v2_0%,v2_1A%)
  252.   ~FORM_CENTER(v2_1A%,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  253. RETURN
  254. > PROCEDURE vB_1
  255.   ALERT 1,"|Programm wirklich beenden ???",1," Ja | Nein ",v9_0|
  256.   OB_STATE(v2_1A%,v2_19%)=BCLR(OB_STATE(v2_1A%,v2_19%),0)
  257.   ~OBJC_DRAW(v2_1A%,v2_19%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  258.   IF v9_0|=1
  259.     ~RSRC_FREE()
  260.     RESERVE
  261.     EDIT
  262.   ENDIF
  263. RETURN
  264. > PROCEDURE vB_8
  265.   SGET v1_B$
  266.   SETCOLOR 0,2
  267.   CLS
  268.   PRINT STRING$(80,175)
  269.   @vB_6(2,"< < < < <     RUNLIGHT.PRG     > > > > >")
  270.   PRINT STRING$(80,175)
  271.   PRINT
  272.   PRINT " Wenn Sie den Quellcode des Programm`s möchten oder vielleicht die Bauanleitung"
  273.   PRINT " zu der Lichtanlage(Grundaufbau/Bezugsadressen ....  usw.), dann schicken Sie"
  274.   PRINT " bitte DM 20.- an folgende Adresse:"
  275.   PRINT
  276.   PRINT "    HEINER SCHIED     BERGSTRASSE 10     6749 BRUCHWEILER-BÄRENBACH"
  277.   PRINT
  278.   PRINT "      Im Prinzip können Sie jedes Parallel-Interface (mit Relais) mit diesem"
  279.   PRINT "      Programm ansteuern. Es sollte nur ausreichend funkentstört sein, da"
  280.   PRINT "      die Relais oft mehrmals pro Sekunde ein- u./od. ausschalten. Das ist auch"
  281.   PRINT "      DER Grund dafür, daß ich aus verschiedenen Bausätzen u. Bausteinen eine"
  282.   PRINT "      Schaltung entwickelt habe, die ohne störende Geräusche (von Relais) und"
  283.   PRINT "      im Nulldurchgang(also ohne elektrische Funken beim Ein- od. Ausschalten)"
  284.   PRINT "      arbeitet."
  285.   PRINT "      ACHTUNG !  Beim Selbstbau einer solchen Lichtanlage müssen unbedingt die"
  286.   PRINT "      VDE-Richtlinien eingehalten werden !!!"
  287.   REPEAT
  288.   UNTIL MOUSEK=2 OR LEN(INKEY$)
  289.   SPUT v1_B$
  290.   SETCOLOR 0,1
  291. RETURN
  292. > PROCEDURE vB_6(v9_1|,v1_C$)
  293.   ' TEXT IN ZEILE `zeile|` ZENTRIEREN ~~~~~~~~~~~~~~~~~~~~
  294.   PRINT AT(40-ROUND(LEN(v1_C$)/2),v9_1|);v1_C$
  295. RETURN
  296. FUNCTION vE_0
  297.   LOCAL v1_8$,v1_9$,v1_A$,v1_6$,v1_5$,v2_36%,v2_35%,v2_37%,v2_3B%,v2_3C%,v2_3D%,v3_5!,v3_6!,v2_45%
  298.   v3_7!=GEMDOS(17)
  299.   v2_3C%=v2_2F%
  300.   v2_45%=0
  301.   v3_6!=-1
  302.   v3_5!=0
  303.   v8_0&=(v2_32%+1)*60
  304.   IF v3_1!
  305.     v2_3C%=v2_2F%-1
  306.   ELSE
  307.     IF LEN(v5_0$(v2_3C%))=0
  308.       ALERT 1,"|Programm fehlt ! | Haben Sie RUNLIGHT.DRL | manipuliert ???? ",1," Return ",v9_0|
  309.       RETURN 0
  310.     ENDIF
  311.     ' PROGRAMM ~~~~~~~~~~~~~~~~~~~~
  312.     CHAR{OB_SPEC(v2_1A%,v2_D%)}=RIGHT$("⓪"+FN vF_0$(STR$(v2_3C%)),2)
  313.     ~OBJC_DRAW(v2_1A%,v2_D%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  314.   ENDIF
  315.   DO
  316.     IF MOUSEK=2
  317.       RETURN 0
  318.     ENDIF
  319.     IF v3_1!
  320.       v3_6!=-1
  321.       v3_5!=0
  322.       INC v2_3C%
  323.       IF v2_3C%>99
  324.         v2_3C%=0
  325.       ENDIF
  326.       ' PROGRAMM ~~~~~~~~~~~~~~~~~~~~
  327.       CHAR{OB_SPEC(v2_1A%,v2_D%)}=RIGHT$("⓪"+FN vF_0$(STR$(v2_3C%)),2)
  328.       ~OBJC_DRAW(v2_1A%,v2_D%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  329.     ENDIF
  330.     FOR v2_3D%=1 TO 10
  331.       INC v2_45%
  332.       IF v2_45%>9999
  333.         v2_45%=0
  334.       ENDIF
  335.       CHAR{OB_SPEC(v2_1A%,v2_C%)}=RIGHT$("⓪⓪"+FN vF_0$(STR$(v2_45%)),3)
  336.       ~OBJC_DRAW(v2_1A%,v2_C%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  337.       CHAR{OB_SPEC(v2_1A%,v2_E%)}=RIGHT$("⓪"+FN vF_0$(STR$(v2_3D%)),2)
  338.       ~OBJC_DRAW(v2_1A%,v2_E%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  339.       v1_9$=v5_0$(v2_3C%)
  340.       v1_8$=v1_9$
  341.       IF v2_33%
  342.         IF FRAC(v2_3D%/(v2_33%+1))=0
  343.           IF v3_5!
  344.             v3_5!=0
  345.           ELSE
  346.             v3_5!=-1
  347.           ENDIF
  348.         ENDIF
  349.       ENDIF
  350.       IF v2_34%
  351.         IF FRAC(v2_3D%/(v2_34%+1))=0
  352.           IF v3_6!
  353.             v3_6!=0
  354.           ELSE
  355.             v3_6!=-1
  356.           ENDIF
  357.         ENDIF
  358.       ENDIF
  359.       IF v3_6!=0 AND v3_5!
  360.         v1_8$=FN vF_1$(FN vF_2$(v1_9$))
  361.         CHAR{OB_SPEC(v2_1A%,v2_F%)}="INV"
  362.         CHAR{OB_SPEC(v2_1A%,v2_10%)}="DOWN"
  363.       ELSE IF v3_6!=0 AND v3_5!=0
  364.         v1_8$=FN vF_1$(v1_9$)
  365.         CHAR{OB_SPEC(v2_1A%,v2_F%)}="NOR"
  366.         CHAR{OB_SPEC(v2_1A%,v2_10%)}="DOWN"
  367.       ELSE IF v3_6! AND v3_5!
  368.         v1_8$=FN vF_2$(v1_9$)
  369.         CHAR{OB_SPEC(v2_1A%,v2_F%)}="INV"
  370.         CHAR{OB_SPEC(v2_1A%,v2_10%)}="UP"
  371.       ELSE
  372.         CHAR{OB_SPEC(v2_1A%,v2_F%)}="NOR"
  373.         CHAR{OB_SPEC(v2_1A%,v2_10%)}="UP"
  374.       ENDIF
  375.       ~OBJC_DRAW(v2_1A%,v2_F%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  376.       ~OBJC_DRAW(v2_1A%,v2_10%,46,v2_1B%,v2_1C%,v2_1D%,v2_1E%)
  377.       v2_46%=LEN(v1_8$)
  378.       FOR v2_35%=1 TO v2_46%
  379.         v2_36%=ASC(MID$(v1_8$,v2_35%,1))
  380.         v1_5$=STRING$(8,48)
  381.         RSET v1_5$=BIN$(v2_36%)
  382.         v1_5$=FN vF_1$(v1_5$)
  383.         v1_6$=SPACE$(25)
  384.         IF MOUSEK=2
  385.           RETURN 0
  386.         ENDIF
  387.         FOR v2_37%=1 TO 8
  388.           IF MID$(v1_5$,v2_37%,1)="1"
  389.             MID$(v1_6$,v2_37%*3,1)=FN vF_0$(STR$(v2_37%))
  390.           ENDIF
  391.           IF MOUSEK=2
  392.             RETURN 0
  393.           ENDIF
  394.         NEXT v2_37%
  395.         IF v3_7!
  396.           OUT 0,v2_36%
  397.         ENDIF
  398.         ATEXT 67,200,2,v1_6$
  399.         IF v3_0!
  400.           ' EFFEKT HOLD EIN ~~~~~~~~~~~~~~~~~~~~
  401.           ~EVNT_TIMER(v8_0&)
  402.         ELSE
  403.           ' EFFEKT FLASH EIN ~~~~~~~~~~~~~~~~~~~~
  404.           ~EVNT_TIMER(50)
  405.           IF v3_7!
  406.             OUT 0,0
  407.           ENDIF
  408.           ATEXT 67,200,2,SPACE$(25)
  409.           ~EVNT_TIMER(v8_0&-50)
  410.